(define (and x y) (if x y #f))

(define (rot13 c)
  ;; 97 = a
  ;; 122 = z
  (let* ((i (char->integer c)))
    (if (and (<= 97 i)
	     (<= i 122))
	(integer->char
	 (+ 97 (modulo (+ 13 (- i 97))
		       (+ 1 (- 122 97)))))
	c)))

(define (cipher)
  (let* ((c (read-char)))
    (if (eof-object? c)
	(newline)
	(begin (display (rot13 c))
	       (cipher)))))

(define main (cipher))
